Kiến trúc Bada_(hệ_điều_hành)

Bada, theo như định nghĩa của Samsung, không phải là một hệ điều hành, nhưng là một nền tảng có nhân có thể cấu hình, cho phép sử dụng nhân Linux hoặc các hệ điều hành thời gian thực (RTOS).[2] Nhân Linux thường được dùng nhiều hơn cho các điện thoại thông minh cao cấp, trong khi RTOS thường có trong các smartphone tầm trung do có chân bộ nhớ nhỏ hơn.[9]

Mức trên của hệ lõi có Device, Service, và Framework Layers respectively. Device Layer cung cấp các chức năng cơ bản như đồ họa, giao thức, gọi điện, bảo mật.... Service Layer cung cấp các chức năng đặc trưng như SNS, bản đồ, mua ứng dụng. Để cung cấp các chức năng này, Samsung cung cấp các bộ điều hành bada Server. Lớp trên cùng, Framework Layer, cung cấp các API viết bằng C++ cho các nhà phát triển.

bada cung cấp rất nhiều cách điều khiển giao diện người dùng cho nhà phát triển: gồm các UI cơ bản như Listbox, Color Picker, Tab, vv. Thêm vào đó, nó có trình duyệt web dựa trên WebKit có hỗ trợ Adobe Flash phiên bản 9. Cả WebKit và Flash có thể nhúng vào bên trong các ứng dụng.

bada hỗ trợ khá nhiều các chức năng dựa trên phần cứng khác như: đa cảm biến, như cảm biến chậm, điều khiển rung, nhận diện khuôn mặt, gia tốc kế, từ kế, độ nghiêng, và GPS, có thể kết hợp với các ứng dụng,[2] và đa cảm biến.

Các ứng dụng thuần được viết bằng C++ với SDK của bada, Eclipse. Các công cụ GNU được dùng để biên dịch và sửa lỗi. IDE còn có trình xây dựng UI, nơi các lập trình viên có thể kéo thả các control vào ứng dụng của mình. Để kiểm tra và dò bọ IDE có một trình mô phỏng để có thể chạy thử các ứng dụng.